package com.szcinda.service.dto.zadOrder;

import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

@Data
public class ZadOrderCreateDto implements Serializable {
    private String clientId;
    private String clientName;
    private String bookName;
    private String businessId;
    private String bookNumber;
    private LocalDate pickDate;
    private String pickPlace;
    private int quantity;
    private double volume;
    private String cabinetType;
    private String cabinetNumber;
    private LocalDate preDepartureTime;
    private LocalDate actDepartureTime;
    private LocalDate packageReturnDate;
    private int packageUseDays;
    private String originPlace;
    private String calculateType;
    private String destPlace;
    private String carrierId;
    private String carrierName;
    private String userId;
    private String userName;
    private String currency;
    private String businessCode;
    private String carrierDeparturePort;

    private String packagePic;
    private String customsFile;
    private String carFile;
    private String packageSolution;
    private String stFile;
    private String preOrderConfirm;
    private String transportOrder;
    private String customsReleaseOrder;
    private LocalDateTime arriveTime;
    private String dskAtbMrn;
    private String aging;
    private String goodsName;
    private String goodsDetailName;
    private Double goodsWeight;
    private String customsType;
    private LocalDateTime orderArriveTime;
    private LocalDateTime orderLeaveTime;
    private int orderBeyondDays;

    // 报关费 关联费用
    private double homeFee;// 主页费单价
    private double sheetFee;// 续页费单价
    private int homeCount;// 主页数
    private int sheetCount;// 续页数
    private double overFee;// 超期堆存费
    private String overFeeCurrency; // 超期堆存费币种

    private String organizationId;

    private String opId;


    private String orderNumber;

    private String remark;


    private List<FeeDto> feeList;

    private List<FeeDto> outFeeList;

    private List<OrderFollowDto> followDtos;

    @Data
    public static class OrderFollowDto implements Serializable {
        private String id;
        private String cabinetNumber;
        private String packagePic;
        private String customsFile;
        private String carFile;
        private String packageSolution;
        private String stFile;
        private String preOrderConfirm;
        private String transportOrder;
        private String customsReleaseOrder;
        private LocalDateTime arriveTime;
        private String dskAtbMrn;
        private String aging;
    }


    @Data
    public static class FeeDto implements Serializable {
        private String feeName;
        private double feeCount;
        private String status;  // LOCK UNLOCK
        private String currency;
        private String carrierId;
        private boolean canSee;
        // 报关费 关联费用
        private double homeFee;// 主页费单价
        private double sheetFee;// 续页费单价
    }
}
